﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum ВидыИзмененийПоПериодамБюджетирования
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"c0291409-9223-479e-927e-3f4cffcef311\", \"Представление\":\"ЦепноеИзменение\"}")]
		ЦепноеИзменение = 0,//Цепное изменение
		[EnumMember(Value = "{\"Ссылка\":\"e37d7665-2608-417e-87a5-343bddda9c40\", \"Представление\":\"БазовоеИзменение\"}")]
		БазовоеИзменение = 1,//Базовое изменение
	}
	public static partial class ВидыИзмененийПоПериодамБюджетирования_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ЦепноеИзменение = new Guid("4c3f7e92-ceff-11f3-479e-9223c0291409");//Цепное изменение
		public static readonly Guid БазовоеИзменение = new Guid("3b34a587-dadd-409c-417e-2608e37d7665");//Базовое изменение
		public static ВидыИзмененийПоПериодамБюджетирования Получить(this ВидыИзмененийПоПериодамБюджетирования Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыИзмененийПоПериодамБюджетирования Получить(this ВидыИзмененийПоПериодамБюджетирования Значение, Guid Ссылка)
		{
			if(Ссылка == ЦепноеИзменение)
			{
				return ВидыИзмененийПоПериодамБюджетирования.ЦепноеИзменение;
			}
			else if(Ссылка == БазовоеИзменение)
			{
				return ВидыИзмененийПоПериодамБюджетирования.БазовоеИзменение;
			}
			return ВидыИзмененийПоПериодамБюджетирования.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыИзмененийПоПериодамБюджетирования Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыИзмененийПоПериодамБюджетирования Значение)
		{
			switch (Значение)
			{
				case ВидыИзмененийПоПериодамБюджетирования.ЦепноеИзменение: return ЦепноеИзменение;
				case ВидыИзмененийПоПериодамБюджетирования.БазовоеИзменение: return БазовоеИзменение;
			}
			return Guid.Empty;
		}
	}
}